.kartu {
    margin: 100px auto 0;
    width: 338px;
    height: 601px;
    perspective: 1000px;
  }
  
  .kartu__inner {
    width: 100%;
    height: 100%;
    transition: transform 1s;
    transform-style: preserve-3d;
    cursor: pointer;
    position: relative;
  }
  
  .kartu__inner.is-flipped {
    transform: rotateY(180deg);
  }
  
  
  .kartu__face {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    
    box-shadow: 0px 3px 18px 3px rgba(0, 0, 0, 0.2);
  }
  
  .kartu__face--front {
    background-image: linear-gradient(to bottom right, var(--primary), var(--secondary));
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .kartu__face--front h2 {
    color: #FFF;
    font-size: 32px;
  }
  
  .kartu__face--back {
    background-color: var(--light);
    transform: rotateY(180deg);
  }
  
  .kartu__content {
    width: 100%;
    height: 100%;
  }
  
  .kartu__header {
    position: relative;
    padding: 30px 30px 40px;
  }
  
  .kartu__header:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: linear-gradient(to bottom left, var(--primary) 10%, var(--secondary) 115%);
    z-index: -1;
    border-radius: 0px 0px 50% 0px;
  }
  
  .pp {
    display: block;
    width: 128px;
    height: 128px;
    margin: 0 auto 30px;
    border-radius: 50%;
    background-color: #FFF;
    border: 5px solid #FFF;
    object-fit: cover;
  }
  
  .kartu__header h2 {
    color: #FFF;
    font-size: 32px;
    font-weight: 900;
    text-transform: uppercase;
    text-align: center;
  }
  
  .kartu__body {
    padding: 30px;
  }
  
  .kartu__body h3 {
    color: var(--dark);
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 15px;
  }
  
  .kartu__body p {
    color: var(--dark);
    font-size: 18px;
    line-height: 1.4;
  }

 /* HTML: <div class="loader"></div> */
.loader {
  --s: 20px;
  
  --_d: calc(0.353*var(--s));
  width: calc(var(--s) + var(--_d));
  aspect-ratio: 1;
  display: grid;
}
.loader:before,
.loader:after {
  content: "";
  grid-area: 1/1;
  clip-path: polygon(var(--_d) 0,100% 0,100% calc(100% - var(--_d)),calc(100% - var(--_d)) 100%,0 100%,0 var(--_d));
  background:
    conic-gradient(from -90deg at calc(100% - var(--_d)) var(--_d),
    #039e74 135deg,#006400 0 270deg,#aaa 0);
  animation: l6 2s infinite;
}
.loader:after {
  animation-delay:-1s;
}
@keyframes l6{
  0%  {transform:translate(0,0)}
  25% {transform:translate(30px,0)}
  50% {transform:translate(30px,30px)}
  75% {transform:translate(0,30px)}
  100%{transform:translate(0,0)}
}